/**
*┌──────────────────────────────────────────────────────────────┐
*│　描    述：服务费(手续费)                                                    
*│　作    者：gaotang                                              
*│　版    本：1.0   模板代码自动生成                                              
*│　创建时间：2019-01-29 17:12:18                           
*└──────────────────────────────────────────────────────────────┘
*┌──────────────────────────────────────────────────────────────┐
*│　命名空间： BestTrader.Cms.IServices                                   
*│　接口名称： IServiceChargeRepository                                      
*└──────────────────────────────────────────────────────────────┘
*/
using BestTrader.Cms.ViewModels;
using System;
using System.Collections.Generic;
using System.Text;

namespace BestTrader.Cms.IServices
{
    public interface IServiceChargeService
    {
        /// <summary>
        /// 根据查询条件获取数据
        /// </summary>
        /// <param name="model">查询实体</param>
        /// <returns>table数据</returns>
        TableDataModel LoadData(ServiceChargeRequestModel model, String userId, String roleId);

        /// <summary>
        /// 新增或者修改服务
        /// </summary>
        /// <param name="item">新增或者修改试图实体</param>
        /// <returns>结果实体</returns>
        BaseResult AddOrModify(ServiceChargeAddOrModifyModel model, String userId);

        BaseResult BatchAddOrModify(List<UserTradeModel> model, String userId);

        /// <summary>
        /// 获取默认的规则
        /// </summary>
        /// <returns></returns>
        List<ItemsDetailModel> GetDefaultTradeCommissionItems();

        /// <summary>
        /// 获取指定服务费(手续费)规则
        /// </summary>
        List<ServiceChargeListModel> LoadServiceCharges(bool isDefault = false);

        List<ServiceChargeListModel> GetServiceChargesById(int managerId);


        List<ServiceChargeListModel> GetHistoryByManagerId(ServiceChargeHistoryQueryModel item);
    }
}